home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #4 / Amiga Plus CD - 2000 - No. 4.iso / Tools / Emulatoren / UAE0.6.4 / src / include / custom.h < prev    next >
C/C++ Source or Header  |  2000-05-27  |  2KB  |  83 lines

  1.  /* 
  2.   * UAE - The Un*x Amiga Emulator
  3.   * 
  4.   * custom chip support
  5.   *
  6.   * (c) 1995 Bernd Schmidt
  7.   */
  8.  
  9. extern void custom_init(void);
  10. extern void customreset(void);
  11. extern int intlev(void);
  12. extern void dumpcustom(void);
  13.  
  14. extern void do_disk(void);
  15.  
  16. extern int inhibit_frame;
  17. extern int bogusframe;
  18.  
  19. extern UWORD dmacon;
  20. extern UWORD intena,intreq;
  21. static __inline__ int dmaen(UWORD dmamask)
  22. {
  23.     return (dmamask & dmacon) && (dmacon & 0x200);
  24. }
  25.  
  26. #define SPCFLAG_BLIT 1
  27. #define SPCFLAG_STOP 2
  28. #define SPCFLAG_DISK 4
  29. #define SPCFLAG_INT  8
  30. #define SPCFLAG_BRK  16
  31. #define SPCFLAG_EXTRA_CYCLES 32
  32. #define SPCFLAG_TRACE 64
  33. #define SPCFLAG_DOTRACE 128
  34. #define SPCFLAG_DOINT 256
  35. #define SPCFLAG_BLTNASTY 512
  36. #define SPCFLAG_EXEC 1024
  37. #define SPCFLAG_EMULTRAP 2048
  38.  
  39. #define PRESERVED_FLAGS (SPCFLAG_DISK|SPCFLAG_BLIT|SPCFLAG_BLTNASTY)
  40.  
  41. extern int dskdmaen;
  42. extern UWORD adkcon;
  43.  
  44. extern int max_diwstop, prev_max_diwstop;
  45.  
  46. extern UWORD joy0dir;
  47. extern int joy0button;
  48.  
  49. extern void INTREQ(UWORD);
  50. extern UWORD INTREQR(void);
  51.  
  52. #define maxhpos 227
  53. #define maxvpos 312
  54. #define minfirstline 29
  55. #define numscrlines (maxvpos+1-minfirstline+1)
  56.  
  57. #define DMA_AUD0      0x0001
  58. #define DMA_AUD1      0x0002
  59. #define DMA_AUD2      0x0004
  60. #define DMA_AUD3      0x0008
  61. #define DMA_DISK      0x0010
  62. #define DMA_SPRITE    0x0020
  63. #define DMA_BLITTER   0x0040
  64. #define DMA_COPPER    0x0080
  65. #define DMA_BITPLANE  0x0100
  66. #define DMA_BLITPRI   0x0400
  67. /*
  68. struct bltinfo {
  69.     int blitzero;
  70.     UWORD blitpreva,blitprevb,blitashift,blitbshift;
  71.     UWORD bltadat,bltbdat,bltcdat,bltddat,bltafwm,bltalwm;
  72.     UWORD vblitsize,hblitsize;
  73.     WORD  bltamod,bltbmod,bltcmod,bltdmod;
  74. };
  75.  
  76. extern void do_blitter(void);
  77.  
  78. typedef void blitter_func(UWORD *, UWORD *, UWORD *, UWORD *, struct bltinfo *);
  79.  
  80. extern blitter_func *blitfunc_dofast[256];
  81. extern blitter_func *blitfunc_dofast_desc[256];
  82. */
  83.